package com.warom.sdg.dto;

/**
 * 报警查询请求数据传输对象
 */
public class AlarmQueryRequestDto {
    private String alarmType;     // 报警类型：GRAIN(粮情)/GAS(气体)/all
    private String paramType;     // 参数类型：temperature/humidity/oxygen/co2/ph3/all
    private String level;         // 报警级别：HIGH/MEDIUM/LOW/all
    private String status;        // 报警状态：ACTIVE/HANDLED/IGNORED/all
    private String timeRange;     // 时间范围：today/week/month/custom
    private long startTime;       // 开始时间（毫秒时间戳）
    private long endTime;         // 结束时间（毫秒时间戳）
    private int page;             // 页码，从1开始
    private int pageSize;         // 每页记录数

    // 默认构造函数
    public AlarmQueryRequestDto() {
        this.alarmType = "all";
        this.paramType = "all";
        this.level = "all";
        this.status = "all";
        this.timeRange = "week";
        this.page = 1;
        this.pageSize = 10;
    }

    // 带参数的构造函数
    public AlarmQueryRequestDto(String alarmType, String paramType, String level, String status,
                              String timeRange, long startTime, long endTime, int page, int pageSize) {
        this.alarmType = alarmType;
        this.paramType = paramType;
        this.level = level;
        this.status = status;
        this.timeRange = timeRange;
        this.startTime = startTime;
        this.endTime = endTime;
        this.page = page;
        this.pageSize = pageSize;
    }

    // Getters and Setters
    public String getAlarmType() {
        return alarmType;
    }

    public void setAlarmType(String alarmType) {
        this.alarmType = alarmType;
    }

    public String getParamType() {
        return paramType;
    }

    public void setParamType(String paramType) {
        this.paramType = paramType;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getTimeRange() {
        return timeRange;
    }

    public void setTimeRange(String timeRange) {
        this.timeRange = timeRange;
    }

    public long getStartTime() {
        return startTime;
    }

    public void setStartTime(long startTime) {
        this.startTime = startTime;
    }

    public long getEndTime() {
        return endTime;
    }

    public void setEndTime(long endTime) {
        this.endTime = endTime;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
} 